WIFI AP 和STA同时开启
1. 概述¶
sta模式:wifi作为client,去连接AP/router的工作模式。
ap模式:wifi作为热点,供其他设备连接。
2. 代码修改和配置¶
-
配置,然后编译。
-
默认配置中已经开启wifi。
-
开启zk_full的模式:vim project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk verify_zk_full:=enable
-
避免UI调用wifi冲突,将sdk\verify\application\zk_full\demo.sh 最后一行代码拿掉。
........ cd /customer chmod 777 zkgui #./zkgui &
-
编译,升级。重启。
-
3. 修改板端行为¶
-
添加AP热点信息
/ # vi appconfigs/wpa_supplicant.conf ctrl_interface=/tmp/wifi/run/wpa_supplicant update_config=1 network={ ssid="aryl iPhone" psk="123456789a" }
-
wifi 模块初始化
cd /config/wifi export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/lib:/config/wifi ./ssw01bInit.sh
-
测试wifi 连接 (连接,获取IP,通过路由器或手机来观察)
./wpa_supplicant -Dnl80211 -i wlan0 -c /appconfigs/wpa_supplicant.conf -d & sleep 2 udhcpc -q -i wlan0 -s /etc/init.d/udhcpc.script &
-
扫描热点:
./iwlist wlan0 scanning
-
查询连接状态:
./wpa_cli -i wlan0 -p /tmp/wifi/run/wpa_supplicant status
-
ping
ping -I wlan0 14.215.177.39
-
DNS mount -o remount,rw / 如果dns sever:是无效的ip,改为8.8.8.
-
编辑vi /etc/resolv.conf
export LD_LIBRARY_PATH=$LD_LIBRARY_ifPATH:/customer/libdns ping -I wlan0 www.baidu.com
如果以上步骤测试均正常,sta模式验证完毕。
-
开启AP模式
ifconfig p2p0 up ifconfig p2p0 192.168.1.100 netmask 255.255.255.0 ./hostapd -B /config/wifi/hostapd.conf ./dnsmasq -i p2p0 --no-daemon -C /config/wifi/dnsmasq.conf &
查看连接设备信息:
./hostapd_cli -i p2p0 -p /var/run/hostapd all_sta &
-
通过pc 搜索ssid:ssw101bap passwd:12345678 (可以修改hostapd.conf 的ssid和password)
如果以上步骤测试均正常,ap模式验证完毕。
sta和ap模式同时开启验证完毕。